package com.ruoyi.system.mapper;

import java.util.HashMap;
import java.util.List;

import com.ruoyi.system.domain.Ledger;
import com.ruoyi.system.domain.TmcHouseBill;
import com.ruoyi.system.domain.TmcHouseSubbill;

/**
 * 房屋物业费管理Mapper接口
 *
 * @author ruoyi
 * @date 2021-05-19
 */
public interface TmcHouseBillMapper {
    /**
     * 查询房屋物业费管理
     *
     * @param id 房屋物业费管理ID
     * @return 房屋物业费管理
     */
    public TmcHouseBill selectTmcHouseBillById(Long id);

    /**
     * 查询房屋物业费管理列表
     *
     * @param tmcHouseBill 房屋物业费管理
     * @return 房屋物业费管理集合
     */
    public List<TmcHouseBill> selectTmcHouseBillList(TmcHouseBill tmcHouseBill);

    /**
     * 新增房屋物业费管理
     *
     * @param tmcHouseBill 房屋物业费管理
     * @return 结果
     */
    public int insertTmcHouseBill(TmcHouseBill tmcHouseBill);

    /**
     * 修改房屋物业费管理
     *
     * @param tmcHouseBill 房屋物业费管理
     * @return 结果
     */
    public int updateTmcHouseBill(TmcHouseBill tmcHouseBill);

    /**
     * 删除房屋物业费管理
     *
     * @param id 房屋物业费管理ID
     * @return 结果
     */
    public int deleteTmcHouseBillById(Long id);

    /**
     * 批量删除房屋物业费管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTmcHouseBillByIds(Long[] ids);

    /**
     * 查询户主缴费信息
     *
     * @param id 户主缴费信息ID
     * @return 户主缴费信息
     */
    public TmcHouseSubbill selectTmcHouseSubbillById(Long id);

    /**
     * 查询户主缴费信息列表
     *
     * @param tmcHouseSubbill 户主缴费信息
     * @return 户主缴费信息集合
     */
    public List<TmcHouseSubbill> selectTmcHouseSubbillList(TmcHouseSubbill tmcHouseSubbill);

    /**
     * 新增户主缴费信息
     *
     * @param tmcHouseSubbill 户主缴费信息
     * @return 结果
     */
    public int insertTmcHouseSubbill(TmcHouseSubbill tmcHouseSubbill);

    /**
     * 修改户主缴费信息
     *
     * @param tmcHouseSubbill 户主缴费信息
     * @return 结果
     */
    public int updateTmcHouseSubbill(TmcHouseSubbill tmcHouseSubbill);

    /**
     * 删除户主缴费信息
     *
     * @param id 户主缴费信息ID
     * @return 结果
     */
    public int deleteTmcHouseSubbillById(Long id);

    /**
     * 批量删除户主缴费信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTmcHouseSubbillByIds(Long[] ids);

    TmcHouseBill selectTmcHouseBill(Long houseID);

    List<HashMap> querySubBillName(Ledger ledger);

    Double queryLedgerYearBillState(Ledger ledger);

    List<HashMap> queryLedgerMouthSubBillType(Ledger ledger);

    int querysubillQ(TmcHouseBill tmcHouseBill);
    int queryBillsum(TmcHouseBill tmcHouseBill);

    TmcHouseBill querybill(TmcHouseBill tmcHouseBill);

    List<HashMap> queryCompany(Ledger ledger);
    String queryHouseName(Long id);

}